home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et3_0-a1.lha / et3 / src / Time.C < prev    next >
C/C++ Source or Header  |  1992-05-05  |  1KB  |  89 lines

  1. #ifdef __GNUG__
  2. #pragma implementation
  3. #endif
  4.  
  5. #include "Time.h"
  6.  
  7. #include "Class.h"
  8. #include "String.h"
  9.  
  10. //---- Time --------------------------------------------------------------------
  11.  
  12. Time::Time()
  13. {
  14.     val= 0;
  15. }
  16.  
  17. Time::Time(long msec)
  18. {
  19.     val= msec;
  20. }
  21.  
  22. //---- operators ----
  23.  
  24. Time Time::operator+(Time &t)
  25. {
  26.     return val + t.val;
  27. };
  28.  
  29.     
  30. Time Time::operator-(Time &t)
  31. {
  32.     return val - t.val;
  33. };
  34.  
  35. Time Time::operator*(int i) 
  36. {
  37.     return val * i;
  38. }
  39.  
  40. Time Time::operator*(double f) 
  41. {
  42.     return long(double(val) * f);
  43. }
  44.  
  45. //---- conversion ----
  46.  
  47. long Time::AsLong()
  48. {
  49.     return val;
  50.    
  51. char *Time::AsString()
  52. {
  53.     return form("%d", val);
  54. }
  55.  
  56. //---- comparison ----
  57.    
  58. int Time::Compare(Time &t)
  59. {
  60.     if ( val < t.val )
  61.     return -1;
  62.     if ( val > t.val )
  63.     return 1;
  64.     return 0;
  65. }
  66.  
  67. //---- Stream operators ----
  68.  
  69. OStream& operator<< (OStream &os, Time &t)
  70. {
  71.     return os << t.val;
  72. }
  73.  
  74. IStream& operator>> (IStream &is, Time &t)
  75. {
  76.     return is >> t.val;
  77. }
  78.  
  79. //---- metadef ----
  80.  
  81. SimpleMetaImpl(Time)
  82. {
  83.     len= len;
  84.     isptr= isptr;
  85.     sprintf(buf, "%s", ((Time *) addr)->AsString());
  86. }
  87.  
  88.